*ClassTbl* *ClassEntry* *PTABLE* *WINDOWSEG* Viewer *ICONRESTAB* *ICONRESSEG* *ICONRES* Background *OBJTABLE* *IDTABLE* *NAMETAB* Rectangle Ellipse RoundedRectangle Polygon IrregularPolygon AngledLine Curve Field RecordField ComboBox Button PaintObject Picture Hotword *RHOTWORD* Group Stage *TbxBase* TB40HYP.SBK noPicture Previous First browse delete index restore update deleteDisabled updateDisabled indexDisabled restoreDisabled question wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwpx wwwpx wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwww wwwww wwwww wwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwx wwwww wwwwx wwwww wwwww wwwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwww wwwwwww wwwwwww wwwwwww wwwwwwwwww wwwwwwwwww wwwwwwwwww wwwwwww wwwwwww wwwwwww wwwwwww wwwwwwwwwwO wwwwwwwwwwwpwx pwwwwwwwwwwxpwwwwwwwwwwxpw xxwww xxwwwwwww xwwwwwwwwp? wpwwwwwwww wwwwwwwwwwwswx swwwwwwwwwwxswwwwx x{wwwp xpwwwp xqwwwp xqwpwp xqwpwp xqwpwp xqwpwp xpwwwp xpwwwp wxrwwwp wxpwwwp wwxpwwwwwwwwwwxpwwwwwwwwwwwpwwwwwwwwwwwp wwwwwwwwwwwpwx wpwwwwxpwwp wwwxpwp wxpwp wxpwp wxpwp xpwpwp wwwwxpww wwwwxpwwp wwwwxpww wwwwwpwwwwwwwwwwwp wwwwwwwwwwwqwx swwwwwwwwwwx{www xpwww wwxqwww wwxvwww wwxpwww wwxqwww wwxswww wwxqwww wwx{wwx wwxxwwpwpw pwwxswwx wwxqwwwwp wwxxwwwww wwx{wwwwwp wwwxxwwwwww wwwwxwwwwwwwwwwws wwwwwwwwwwwpwx pwwwwwwwwwwxpwp wwwwwpx wxpwp wxpwp wxpww xxwwpwwwwwx x~wpxxxxxp xwwwwwwwwwwwwpwwwwwwwwwwwp wwwwwwwwwwwpwx pwwwp wwxpwwwwp wwwxpwwp xxwwwwwwp wxwwwwwwwp wwpwwwwwwwwwwwp wwwwwwwwwwwpwx pwwwp wwxwwwwwp wwwxpwwp wxpwwwwwww Pwxpwwwwwwwp wwpwwwwwwwwwwwp CREATESPLASHWNDg &File &Open... Ctrl+O &Save Ctrl+S Save &As... saveas &Import... import &Export... export Print Set&up... printsetup &Print Pages... Ctrl+P printpages Prin&t Report... printreport Send &Mail... sendmail &Run... E&xit Alt+F4 &Edit &Undo Ctrl+Z Cu&t Ctrl+X &Copy Ctrl+C &Paste Ctrl+V paste C&lear Del clear Select &All Shift+F9 selectall Select Pa&ge Shift+F12 selectpage F&ind... F5 search Re&place... replace A&uthor F3 author &Text &Character... F6 character &Paragraph... F7 paragraph &Regular Ctrl+Space regular &Bold Ctrl+B &Italic Ctrl+I italic &Underline Ctrl+U underline Stri&keout Ctrl+K strikeout Superscrip&t/Subscript super/subscript &Normal Script normalscript Su&bscript Ctrl+L subscript Su&perscript Ctrl+Shift+L superscript &Show Hotwords F9 showhotwords &Page &Next Alt+Right &Previous Alt+Left previous &First Alt+Up first &Last Alt+Down &Back Shift+F2 &History... Ctrl+F2 history N&ew Page Ctrl+N newpage &Help &Contents F1 index fieldValue normalRGB KUselectedOffice JUselectedOffice updateDisplay w, #> .'+ +F .'+ +F room 70 Last_name SUCCESS searchValue IrregularPolygon fieldValue currentIndex Primary . Try editing this room by moving into edit mode. searchTable photo updateBMP indexSwitch vfixIndex1 PupdateDisplay First_Name WcurrentRecord 7wfixIndex2 buttonClick w, #? w, #? w, #? Last_name SUCCESS IrregularPolygon fieldValue CurrentIndex no assignment WcurrentRecord searchTable statusBar currIndex vfixIndex1 First_name WcurrentRecord myName PRIMARY 7wfixIndex2 mouseEnter statusBar mouseLeave .'+&? .'+&? +&,"J .'+&? +&,"J getPXErrorString s_noPicture hWndBitmap fieldValue hPalette setPXBitmapWindowInfo freePXGraphicBlob hBitmap &freePXGraphicBlobPalette paintVal updateBMP -$+&? +&,"J noPicture getPXErrorString s_noPicture hWndBitmap JopenPXBitmapWindow enableWindow center enterPage .'+&? .'+&? .'+&? .'+&? s_noPicture hWndBitmap deleteObject 4rclosePXBitmapWindow hPalette hBitmap leavePage ,&H.& ,&H.& w, #> Cancel getPXErrorString fieldNames addKey closePXTable currentIndex 3HtableInfoList Can't index on BLOB fields, so can't search on them. DBTable Error creating new index for this field applicationName searchTable WcurrentRecord setCaption Photo openPXTable statusBar updateBMP PXFieldNames 4HtableInfoList tName MGBFO What value are you searching for? appname PupdateDisplay searchString DBTable WcurrentRecord tableInfoList PXFieldType buttonDoubleClick Double click to search on this field MGBFO statusBar PXFieldType mouseEnter statusBar mouseLeave update/index ToolBar DBTable DisPXNetTableChanged PupdateDisplay refreshPXNetTable enterPage w, #? Cancel ^isPXNetRecordLocked getPXErrorString ^isPXNetRecordLocked SUCCESS fullName IrregularPolygon .getPXNetErrorUser s_lockHandle currentIndex , or create a new record. Primary searchTable statusBar has the record locked. Editing of the record is disallowed. ngotoPXNetRecordLock 7wfixIndex2 newRoomRec indexSwitch is assigned to vfixIndex1 dFullName DBTable WcurrentRecord myName s_selfSwitch assign mouseEnter statusBar mouseLeave Bitmap (*.BMP),*.BMP,DIB (*.DIB),*.DIB Select a bitmap file to assign to this record fieldValue s_frozen openFileDlg updateBMP WcurrentRecord searchTable setCaption Photo updateBMP statusBar PupdateDisplay searchString WcurrentRecord sString keyDown keyChar Type name to search for: "Last" or "Last, First", or "First Last". statusBar mouseEnter statusBar mouseLeave .'+ +F .'+ +F tempRec deleteRecord Yes, and pack it search update s_dbDirty replyString If so, do you want the database packed? Are you sure you want to delete the current record? WcurrentRecord Yes, but don't pack it lastRec packPXTable and pack it tool bar PupdateDisplay Restore DBTable WcurrentRecord recordCount buttonClick enterPage Delete the current record statusBar mouseEnter statusBar mouseLeave .'+ +F .'+ +F .'+ +F .'+ +F .'+ +F .'+ +F Cancel Continue s_newRecord A first and last name are required to create a new record. Save Record s_dbDirty deleteRecord Update tool bar photo Cancel New Record editDB updateBMP PupdateDisplay Restore update update buttonClick enterPage statusBar Save the new record to the database update Update the database mouseEnter statusBar mouseLeave .'+ +F .'+ +F first dirtyPage 3HtableInfoList DBTable WcurrentRecord DBTable DisPXNetTableChanged PupdateDisplay ;?DBDirty DBTable refreshPXNetTable buttonClick Go to first record statusBar mouseEnter statusBar mouseLeave .'+ +F FALSE 3HtableInfoList previous DBTable WcurrentRecord DBTable DisPXNetTableChanged PupdateDisplay DBTable s_updateFlag refreshPXNetTable buttonStillDown .'+ +F dirtyPage setPXBitmapWindowInfo photo s_noPicture hWndBitmap ;?DBDirty s_updateFlag buttonDown .'+ +F Photo updateBMP PupdateDisplay buttonUp Go to previous record statusBar mouseEnter statusBar mouseLeave .'+ +F FALSE 3HtableInfoList DBTable WcurrentRecord DBTable DisPXNetTableChanged PupdateDisplay DBTable s_updateFlag refreshPXNetTable buttonStillDown .'+ +F dirtyPage setPXBitmapWindowInfo photo s_noPicture hWndBitmap ;?DBDirty s_updateFlag buttonDown .'+ +F photo updateBMP PupdateDisplay buttonUp Go to next record statusBar mouseEnter statusBar mouseLeave .'+ +F .'+ +F dirtyPage 3HtableInfoList DBTable WcurrentRecord DBTable DisPXNetTableChanged PupdateDisplay ;?DBDirty DBTable refreshPXNetTable buttonClick Go to last record statusBar mouseEnter statusBar mouseLeave .'+ +F .'+ +F .'+ +F dirtyPage 3HtableInfoList DBTable browse DBTable Browse DisPXNetTableChanged ;?DBDirty DBTable refreshPXNetTable buttonClick enterPage Browse: Return to browse mode statusBar Edit: Add, change, and delete records and indexes mouseEnter statusBar mouseLeave XRaw( v9Z7wS[@ .'+ +F <+V!8 .'+ +F update/index tb40DOS.DLL openFileDlg chooseDirectoryDlg @fixPath search splash FALSE s_firstFlag tb40DLG.DLL Change Database... 8dlinkToDatabase Change the default database deleteObject setCurrentDirectory getCurrentDrive getCurrentDirectory getFileOnlyList removeFile fileExists toolbar enableWindow statusBar restore tool bar enterApplication textFields search tool bar unlinkFromDatabase leaveApplication reader keyDown textFields saveAs s_firstFlag Photo updateBMP Please copy "Whowhere" to a directory on your hard disk. setCurrentDirectory The specified path name was invalid: Error detected in correcting path to database, cause not determined. fixPath w, #> Cancel appPath vgetCurrentDirectory .PX are in linkPX openPXTable getCurrentDrive currentTableInfo 3HtableInfoList Please make sure that .MB, and DBTable Yes, exit Please enter your user name When this dialog box is dismissed, the application will close. applicationName fileExists Employee data DBTable You are trying to open this book with some of the essential parts of the database missing! egetPXUserInfo No, don't exit ,psetPXUserInfo PxEngine getPXErrorString appName -initializePX CurrentIndex s_filePath This application will not work correctly in this state tableInfoList userName Do you wish to leave this application to correct the problem? linkToDatabase (exitPX clearKeys closePXTable tb40pdx.DLL applicationName appname DBTable unlinkFromDatabase addPXKey addPXPassword addPXTable appendPXRecord clonePXBlob , TPB closePXBitmapWindow closePXBlob closePXTable copyPXTable createPXTable decryptPXTable deletePXPassword deletePXRecord deletePXTable doesPXTableExist dropPXBlob , TrC dropPXKey emptyPXField emptyPXRecord emptyPXTable encryptPXTable exitPX freePXGraphicBlob ,$T@E freePXGraphicBlobPalette ,$TdE firstPXRecord getPXBitmapSize getPXBlob ,&UrH getPXBlobQuick ,#UtI getPXBlobSize ,#UhJ getPXErrorString getPXFieldCount getPXFieldNames getPXFieldType getPXFieldValue getPXFileSize getPXGraphicBlob getPXGraphicBlobPalette getPXKeyFieldCount getPXMaxFiles getPXMaxLocks getPXMaxTables getPXSwapSizeFromINI getPXMaxTablesFromINI getPXMaxFilesFromINI getPXMaxLocksFromINI getPXMemoBlob getPXNetErrorUser getPXNetUserName getPXRaw getPXRawDataSize getPXRecordCount getPXRecordNumber getPXSortOrder getPXSwapSize getPXUserInfo gotoPXNetRecordLock gotoPXRecord initializePX insertPXRecord isPXNetRecordLocked isPXNetTableChanged isPXTableProtected , TB$ lastPXRecord lockPXNetFile ,#T|% lockPXNetRecord lockPXNetTable mapPXKey ,#UX& nextPXRecord , T,( openPXBitmapWindow , U^N openPXBlobRead , UlP openPXBlobWrite openPXTable packPXTable previousPXRecord , T,+ queryPXKey refreshPXNetTable renamePXTable , TF. savePX searchPXField searchPXKey ,#Tn/ setPXBitmapWindowInfo , T\S setPXBlob ,$TXT setPXBlobFromFile setPXFieldValue setPXGraphicBlob ,$TDV setPXGraphicBlobFromFile , TBU setPXINIMaxFiles ,#T24 setPXINIMaxLocks setPXINIMaxTables setPXMemoBlob , TZZ setPXRaw ,#Tz5 setPXSortOrder setPXINISwapSize ,#T.6 setPXTableCreateMode setPXTableMaxSize setPXUserInfo unlockPXNetFile unlockPXNetRecord unlockPXNetTable updatePXRecord , Th9 upgradePXTable writePXBlobToFile ,#U0[ writePXGraphicBlobToFile ,#UV[ tb40PDX.DLL linkPX This field type not supported: Formatted text DBfieldType retVal getPXBlob hPrivateBlob This field type not supported: OLE Blob getPXFieldType DBTable getBlobSize popenPXBlobRead LgetPXMemoBlob getPXFieldValue YPXError closePXBlob DBTable getPXGraphicBlob getPXGraphicBlobPalette fieldValue This field type not supported: Formatted text getPXErrorString setPXfieldvalue openPXBlobWrite DBfieldType BLOBSize 2setPXGraphicBlobFromFile VsetPXMemoBlob hPrivateBlob This field type not supported: OLE Blob getPXFieldType This field type not supported: Binary XgetPXFileSize YPXError closePXBlob DBTable fieldValue getPXErrorString closePXTable retVal closeTable DBTable getPXFieldNames PXFieldNames getPXFieldType DBTable PXFieldType getPXErrorString NULL error value in PXError =PXFatal PXError getPXErrorString ,&H.& 1, #> ,&H.& removeFile getFileOnlyList 3HtableInfoList DBTable applicationName indexFiles openPXTable PRIMARY 4HtableInfoList closeTable appName s_filePath DBTable tableInfoList clearKeys 1, "Q ,&H.& w, #> clearing all indexes except the PRIMARY key. fieldNamesClone PupdateDisplay clearKeys getFileOnlyList currentIndex 3indexID 3HtableInfoList Employee Data dropKeys applicationName newKeys indexes Index (imakeKeys indexID indexFiles Indexes DBTable getPXErrorString PRIMARY PXFieldNames Indexes are out of sync with this book, source closeTable MGBFO appName CurrentIndex openPXTable fieldNum DBTable tableInfoList 2rcompareIndexes PXFieldType showIndex ,&H.& ,&H.& ,&H.& ,&H.& compareIndexes ,&H.& getPXErrorString addKey 3HtableInfoList HdropKey 4HtableInfoList dropIndexID newIndexID tableInfoList makeKeys closePXTable DBTable applicationName openPXTable s_oldIndex DBTable PRIMARY fixIndex1 ,&H.& fieldNames closePXTable DBTable applicationName Error setting index id. openPXTable PXFieldNames s_oldIndex 3indexID PRIMARY fixIndex2 isPositiveInteger help_displayDB index search help_index There is no help for this topic: editDB help_editDB help_search displayDB Do you want to switch to this database now, or wait until the next time you open the application? WHOWHERE @fixPath Next Time fileExists oldDefault .chooseDirectoryDlg applicationName Essential parts of the database are missing! Choose a WHOWHERE database \WHOWHERE 4HTableInfoList applicationName appName These files must be present, please try again after correcting the problem. s_filePath PRIMARY Please make sure that WHOWHERE.DB, WHOWHERE.MB, and WHOWHERE.PX are in the directory changeDatabase notifyBefore updateDisplay sLS = = TRUE normalRGB oselectedOffice RGBFill fieldValue( = 255, 0, 0 buttonClick -- no locks, can't use goToPXNetRecordLock c"room 70") indexSwitch = ( "currentIndex" /<> "Primary") fixIndex1 searchTable( >) <> "SUCCESS" r& ". Try editing Hmoving mode." searchValue = "Last_name") & "," & "First_Name") =) <> " updateBMP B"photo" cRec 8= currentRecord = FALSE fixIndex2 ZSTRING residentList myName = p-- cache that property currIndex = "CurrentIndex" $<> "PRIMARY" >) = " -- same order %rooms, so we method "First_name") && & "; " ]a different key, fails on record, so we must special & "; " >,1) = " & "; " statusBar = "no assignment" updateBMP 4LONG hWndBitmap,hBitmap,hPalette,s_noPicture ZhOldBitmap, hOldPalette --kludge K = 0 L = 0 --EndKludge paintVal fieldValue( setPXBitmapWindowInfo( 2, rgbfill getPXErrorString( > 0 freePXGraphicBlob( freePXGraphicBlobPalette( notifyBefore = GDIHandle(bitmap " = openPXBitmapWindow( , 0, \ clientHandle , pageUnitsToClient( O), 2, rgbFill hWndBitMap < 0 enableWindow( closePXBitmapWindow( deleteObject( -- closing the einvalidates handles, -- need reflect = 0 ZindexID tName = PXFieldType( "MGBFO" "Can't G on BLOB fields, so can't on them." DBTable appname = applicationName tableInfoList = 5-- we found ~) -- we didn't find addKey(appName, ,2) -- maintained getPXErrorString( -- will need fieldNames = PXFieldNames() y-- we're trouble creating "," && && "0" "currentIndex" closePXTable( openPXTable( < 0 -- debug ) & CRLF & should be value ("What are you searching "Cancel" searchString = -- famous method clearing statusBar -- navigate searchTable( q, 2) setCaption = TRUE -- does bother currentRecord() = updateDisplay updateBMP B"Photo" = FALSE -- leave key alone = "Double click = " " 4s_lockHandle focusWindow = ready "ToolBar" enabled "update/index" = TRUE isPXNetTableChanged(DBTable) refreshPXNetTable( updateDisplay BMPFlag-- part a notify network 4LOGICAL s_frozen unlock anything we might be hanging on <> NULL unlockPXNetRecord(DB, [s_lockhandle -- the fields on notifyBefore handlers -- so now we need :picture <> FALSE --Check whether orecord locked 4locking isPXNetRecordLocked(DB) getPXNetErrorUser() && "has [. You will current . Please try later." updateBMP B"Photo" freezePage -- we've got thawPage b-- really shouldn't happen, we database nthrough = -50 "The been deleted Hanother user. Do you want insert f"OK" "Cancel" = "OK" -- could be more robust emptyPXRecord( 8) -- [recordBuffer updateDB insertPXRecord( ) -- place buffer [DBDirty < 0 -- negative code, let's find out what %" && & ":" && getPXErrorString( isOpen 4s_dbDirty B"Restore" Jbar" = clearFields "textFields" notifyBefore updateDisplay normalRGB oselectedOffice RGBFill fieldValue( FALSE osaveText 255, 0, 0 compareData p) <> r= "Record changed" buttonClick 4LOGICAL s_newRecord,s_selfSwitch 4s_newRoom,s_lockHandle,s_lastRecord 4LONG hWndBitmap, s_noPicture -- we don't have the M? Forget c"room") -- Are we on Soriginally assigned )? Do nothing DB = DBTable fCI = "currentIndex" indexSwitch = ( <> "Primary") "You need switch PRIMARY modify . Do you want 0now?"\ Kwill the" && manually, Jbar." \ "Cancel" closePXTable(DB) openPXTable(" ",applicationName 8,0,0) DBDirty dirtyPage = currentRecord searchTable( >) <> "SUCCESS" -- no navigation "Make qassignment qrecord?" \ f"New Assignment" sendNotifyBefore unlockPXNetRecord(DB, clearFields setPXBitmapWindowInfo( , 0, 2, rgbFill B"Photo") appendRecord Jbar" "Save " -- normalGraphic bitmap " ("What person?" "Without a p, we cannot d. Now restoring state." editRestore p, we openFileDlg("Select a file ", "", ".", " (*.BMP), *. , DIB (*. ), *. ", 2) r<> " -- we now information we fN && lN "Office_number") = updateBMP picture, we dbDirty --avoid handler gotoPXNetRecordLock( enabled -- we own ]a secondary /<> " fixIndex1 myName = fullName = dFullName = %& "," & temp = " " && J&& " " && -- ,0) <> " xfound? no create a newRoomRec = -- If stays same, -- we're key, must be unique " && statusBar = fixIndex2 O" " -- Otherwise says "Ready" -- we -- generate error isPXNetRecordLocked( -- order find getPXNetErrorUser() && " locked. Editing disallowed." 4LOGICAL s_frozen someone has the lock * = TRUE >buttonDoubleCLick openFileDlg("Select a bitmap file assign record", "", ".", "Bitmap (*.BMP),*. ,DIB (*. fieldValue( updateBMP DBDirty 4LONG hWndBitmap , hPalette "s_noPicture ZhOldBitmap, hOldPalette hBitmap = Q = 0 = -1 -- our signal that rwas r& CRLF & "This a non-fatal error, dediting." NULL -- should happen. Links might be bad. "A serious occurred. Make sure relevant files are al directory." getPXErrorString( -- Window already , so we info setPXBitmapWindowInfo( , 2, rgbfill > 0 -- careful blank freePXGraphicBlob( freePXGraphicBlobPalette( notifyBefore = GDIHandle( = openPXBitmapWindow( , 0, \ clientHandle , pageUnitsToClient( O), 2, rgbFill hWndBitMap < 0 -- we disable e, which side effect uncovering -- under owner enableWindow( , 0) closePXBitmapWindow( deleteObject( -- closing einvalidates handles, _need reflect = 0 notifyBefore updateDisplay ZSTACK fieldList ZSTRING displayTemplate, currentField ocompoundFields ocompoundFormat c) > 0 ~("%F", fieldValue( osaveText displayText = SPACE ) > 0 compareData ) > 0 ~("%F", r= "Record Changed" value PXFS PXFieldSize objs = fieldName pexception PXfieldType = getPXFieldType(DBTable "A15, " -- "A" ) = 1 -- has two >) > "This can only have" && T. Your will now be truncated." >) > "Word" && i && " " && = keyEnter searchString = -- famous method clearing statusBar -- one p, searches on vNULL searchTable(1, setCaption -- two names, what order? -- no comma, sString #, 2) s, 2) = TRUE -- does bother you too? currentRecord() = updateDisplay updateBMP B"Photo" = FALSE = "Type : ""Last"" , First"", = " " buttonClick 4s_dbDirty "Are you sure want delete the current record?" & CRLF & "If so, )database packed?"\ f"Yes, don't replyString = tempRec = currentRecord deleteRecord() lastRec = recordCount '-- we deleted = TRUE updateDisplay Jbar" = FALSE enabled B"Restore" packPXTable(DBTable -- -- oops, somehow we lost table! r= getPxErrorString( -- tableInfoList = -- -- Initialize user property -- -- primary currentTableInfo -- -- a little more generic than we need -- -- could be: -- -- " openPXTable("PRIMARY","WHOWHERE",0,0)" getPXErrorString( "CurrentIndex" /"Employee notifyAfter statusBar "Delete buttonClick 4s_newRoom,s_dbDirty,s_newRecord "Update" update -- updateDisplay currentPage 1display, necessary? -- there's a qrecord, added rooms "Save "editDB") = 2 normalGraphic = bitmap " pare required create a f"Continue" "Cancel New " -- deleteRecord() enabled B"Restore" Jbar" = FALSE updateBMP B"photo" notifyAfter statusBar the database" buttonClick = TRUE DBTable = tableInfoList isPXNetTableChanged( refreshPXNetTable( DBDirty dirtyPage -- The ttwo statements are compiled identically -- " ..." the same %" ... = ...". -- Properties functions ]referenced ?way, -- so "prop ewhether -- they a property. -- See handlers currentRecord () = " updateDisplay = FALSE statusBar = "Go record" 4s_updateFlag = TRUE DBTable = tableInfoList isPXNetTableChanged( refreshPXNetTable( currentRecord -- we need imitate the updateDisplay -- Yes, we up sending twice. There are times Npalette -- does xrealize correctly -- updateBMP B"Photo" FALSE 4LONG hWndBitmap 4s_noPicture, DBDirty dirtyPage }will sent! o= 4 setPXBitmapWindowInfo( 0, 2, B"photo") -- -- statusBar = "Go record" 4s_updateFlag = TRUE DBTable = tableInfoList isPXNetTableChanged( refreshPXNetTable( currentRecord -- we need imitate the updateDisplay -- Yes, we twice. There are times Cpalette -- does xrealize correctly -- updateBMP B"Photo" FALSE 4LONG hWndBitmap 4s_noPicture, DBDirty dirtyPage o= 4 setPXBitmapWindowInfo( n 0, 2, B"photo") statusBar = "Go trecord" buttonClick = TRUE DBTable = tableInfoList isPXNetTableChanged( refreshPXNetTable( DBDirty dirtyPage -- The ttwo statements are compiled identically -- " ..." the same %" ... = ...". -- Properties functions ]referenced ?way, -- so "prop ewhether -- they a property. -- See handlers currentRecord () = " updateDisplay = FALSE o= 1 0 -- statusBar = "Go Jrecord" buttonClick DBTable = tableInfoList isPXNetTableChanged( refreshPXNetTable( "Browse" DBDirty dirtyPage "Edit" onormalGraphic bitmap " Jbrowse" FALSE notifyAfter initial opening statusBar = " : Add, change, delete indexes" : Return mode" NQ-- "Who's Where )Generic International" -- A sample database ]Borland's Paradox engine -- Copyright 1994 Asymetrix Corporation -- Primary authors: Charles Hiestand Jeff Ayars Kgives you permission e, revise reuse the individual scripts your own applications. -- You may x, however, Uentire a substantial part redistribution lproduct. retains copyright on original elements . Include notice "Portions are they contain copied enterApplication 4s_firstFlag "splash" sysRuntime = FALSE "Change Database..." cEdit fhelpText " default = TRUE linkDLL sysToolBookDirectory & "tb40DLG. !" -- selecting qbitmaps STRING openFileDlg( , INT) 'chooseDirectoryDlg( " -- fixPath index K setCurrentDirectory( getCurrentDrive() getCurrentDirectory( getFileOnlyList( removeFile( fileExists( "user" -- WORD enableWindow( "GDI" -- GDIHandle INT deleteObject( close linkToDatabase statusBar "toolbar" ~= Reader enabled "update/ leaveApplication unlinkFromDatabase "textFields" saveAs -- we adoubly sure that esizes gets realized correctly updateBMP B"Photo" -- we opens a MRU some other strange nOTB = root directory 9<> "\" "\" wasn't , oh well, < 0 -- error temp "The specified path c invalid:" && c"A" c"B" -- running a disk CRLF & "Please e""Whowhere"" hard "Error detected correcting , cause xdetermined." \ 4s_filePath -- Use these lines point either a network. -- Out box, runs -- N.B. four netAppName, localAppName, netTableInfo, localTableInfo xaffected . That -- tableInfoList applicationName. can think different -- methods m same thing. whole there appName = made current -- so guys aren't \, we're out appPath = <> "\" -- no , still equal , e.g. "WHOWHERE" rather than "M:\DATABASE\ & ":" & & ":\" & ".db") <> 1 -- main & ".mb") <> 1 -- memos BLObs & ".px") <> 1 -- PRIMARY trying essential parts missing!" & " && &".DB," && &".MB, " && &".PX " && QUOTE & "." & & "When dialog box dismissed, will -- initial dll linkPX -- login NULL r= "Cancel" userName "PxEngine" e win. 4we initialize getPXUserInfo() setPXUserInfo( app ( , a property initializePX( < 0) <> -82) SHARE.EXE equivalent occur getPXErrorString( This state" \ wish problem?" \ f"Yes, "No, don't -- Initialize -- We always , starting primary. -- As we indexes, we Hopening closing tables. -- We keep track currently "DBTable", form each -- 1. FieldName ( IndexName ) (somewhat arbitrary) -- 2. DatabaseName ( -- 3. FieldNumber (0 -- 4. CacheFlag (0 writing a buffer, 1 write straight -- First we cache reference: currentTableInfo a little more generic we need -- could be: -- " openPXTable(" ,0,0)" "CurrentIndex" /"Employee appname = -- How ex files? "Send clearKeys" (a custom message handled later can. commented code would option, perhaps like xsending -- indexFiles = & ".x??","","E") "There secondary . Do want them?" f"Yes" closePXTable( exitPX() unlinkDLL y & "tb40pdx. linked, addPXKey( --PXKeyAdd() addPXPassword( --PXPswAdd() addPXTable( --PXTblAdd() appendPXRecord( --PXRecAppend() clonePXBlob( --PXBlobClone() closePXBitmapWindow( closePXBlob(INT, --PXBlobClose() --PXTblClose() copyPXTable( --PXTblCopy() createPXTable( ) --PXTblCreate() cryptPXTable( --PXTblDecrypt() --PXPswDel() --PXRecDelete() --PXTblDelete() oesPXTableExist( --PXTblExist() ropPXBlob( --PXBlobDrop() ropPXKey( ) --PXKeyDrop() emptyPXField( emptyPXRecord( --PXRecBufEmpty() emptyPXTable( --PXTblEmpty() encryptPXTable( ) --PXTblEncrypt() --PXExit() freePXGraphicBlob( freePXGraphicBlobPalette( firstPXRecord( --PXRecFirst() LONG getPXBitmapSize( DWORD, --PXBlobGet() :lobQuick( --PXBlobQuickGet() globSize( --PXBlobGetSize() getPXFieldCount( --PXRecNFlds() getPXFieldNames( getPXFieldType( ) --PXFldType() getPXFieldValue( FileSize( getPXKeyFieldCount( --PXKeyNFlds() getPXMaxFiles() getPXMaxLocks() getPXMaxTables() INT getPXSwapSizeFromINI() MaxTablesFromINI() 1MaxFilesFromINI() GMaxLocksFromINI() getPXMemoBlob( getPXNetErrorUser() --PXNetErrUser() getPXNetUserName() --PXRawGet() getPXRawDataSize( RecordCount( --PXTblNRecs() RecordNumber( --PXRecNum() getPXSortOrder() gotoPXNetRecordLock( --PXNetRecGotoLock() gotoPXRecord( --PXRecGoto() --PXWinInit() insertPXRecord( --PXRecInsert() isPXNetRecordLocked( --PXNetRecLocked() isPXNetTableChanged( --PXNetTblChanged() isPXTableProtected( --PXTblProtected() lastPXRecord( --PXRecLast() lockPXNetFile( --PXNetFileLock() lockPXNetRecord( lockPXNetTable( --PXNetTblLock() mapPXKey( --PXKeyMap() nextPXRecord( --PXRecNext() openPXBitmapWindow( openPXBlobRead( ) --PXBlobOpenRead() openPXBlobWrite( --PXBlobOpenWrite() --PXTblOpen() packPXTable( previousPXRecord( --PXRecPrev() queryPXKey( --PXKeyQuery() refreshPXNetTable( --PXNetTblRefresh() renamePXTable( ) --PXTblRename() savePX() --PXSave() searchPXField( searchPXKey( --PXSrchKey() setPXBitmapWindowInfo( setPXBlob( ) --PXBlobPut() setPXBlobFromFile( setPXFieldValue( ) --PXPutAlpha(), PXPutDate(), PXPutDouble(), PXPutLong(), PXPutShort() setPXGraphicBlob( ) -- setPXGraphicBlobFromFile( setPXINIMaxFiles( --PXSetDefaults() setPXINIMaxLocks( setPXINIMaxTables( setPXMemoBlob( setPXRaw( --PXRawPut() setPXSortOrder( setPXINISwapSize( setPXTableCreateMode( --PXTblCreateMode() setPXTableMaxSize( --PXTblMaxSize() unlockPXNetFile( --PXNetFileUnlock() unlockPXNetRecord( --PXNetRecUnlock() unlockPXNetTable( --PXNetTblUnlock() updatePXRecord( --PXRecUpdate() upgradePXTable( --PXTblUpgrade() writePXBlobToFile( P -- writePXGraphicBlobToFile( fieldValue fieldName DBfieldType = [SysError retVal = -1 -- value , reset found "BLOB" (Binary Large OBject) hPrivateBlob = E, 0) -- graphics getPXGraphicBlob( getPXGraphicBlobPalette( $"B" stands binary) getPXBlob( , getBlobSize( ), 0) -- formatted type xsupported: Formatted -- OLE others r<> "OK" BLOBSize = ) + 1 -- terminator A, 0) getPXFileSize( ) + 8 -- BLOBs setPXfieldvalue( closeTable errVal / = -79 -- fatal PXEngine PXFatal 4s_lockHandle -- debug -- shouldn't happen reported itself updateDB currentPage [DBDirty dirtyPage 4s_dbDirty,s_newRecord "Changes have been record saved +." \ *can:" \ #TAB & "1) Qnow" \ 2) Discard remain on listNames deleteRecord() -- we'll updateDisplay tB = tB = " normalGraphic tB = tB = editRestore delFlag , s_lastRecord cP = tB = %wired because tB = " tB = tB = currentRecord appendRecord -- Wrapper intelligently sets isPositiveInteger( "Bad = -101 -- = -102 -- = -79 -- ()-- sync getPXRecordNumber( cRec recordCount getPXRecordCount( deletePXRecord( , but 1must )least 4deleting one." < 0 -- Searching -- "mode" -- 0 = "SEARCHFIRST", -- 1 = "SEARCHNEXT", * we -- 2 = "CLOSESTRECORD", b2beginning -- If no exact match greater -- -- becomes only works on indexed #, no >$uses -- Modes 0 alone [2fail. -- Passing a forces a keyed fields ( order) @. E.g. sorted on 7 -- passing 2 be on . Got parameter %indexID allows searches on complex Minsensitive T%. In e,cases, needs -- Therefore, 3three calling function: searchTable (2,"foo") -- % key named Y""," O,"",256) -- on a compound /has "SUCCESS" be a searchKey? Uses isType(REAL, -- ) -- < 0 -- = 2 = -89 "Closest" = -101, "End Of "Not Found" showSearch C5nameList ListNames %modal 18"OK" +.pressed isOpen B(selectedTextlines B"LastFirst" setCaption val, sString = "closest" r & ". Navigating 3follows \ = " r & ". , navigating r & ". No navigation took place." = "success" && " addKey 0,newAlias, , single- -- returns errorCode 0,0,0) -- creating -- 0 Z8 (key) -- 1 Secondary t8 (maintained -- 2 Incremental +even closed) addCompoundKey fieldList, ,keyName PX-assigned + 1 "Indexes && "clearing 82 except 5key." -- leaves us -- yikes, a hex -- = 0 ) = 1 "0x0" & "0x" & %"@d0" "MGBFO" c"," ~(",", "source" = X2= \ "currentIndex" "OK" -- -- -- -- lists, build newKeys dropKeys -- Q6 <> -- something changed compareIndexes ( makeKeys -- -- preparation JopenTable() 67 -- ;" -- be safe -- -- S=way another, " a legal < 0 -- [newIndexID = 0 -- no "," && Y && ] && "0" \ [dropIndexID < 0 -- val = tstartup fixIndex1 4s_oldIndex 8,0,0) fixIndex2 ) -- Dsetting K context "displayDB" "help_displayDB" "editDB" "help_editDB" "help_search" "help_index" M:" && changeDatabase oldDefault NK"Choose a ) = 3 --"c:\", J chose ^C-- ?worry, D& ".db") <> 1 -- D& ".mb") <> 1 -- D& ".px") <> 1 -- "Essential :D.DB, BD.MB, LD.PX are" \ H" && & "These be present, please try TableInfoList D" && E&& "0" && "0" switch Pnow, wait ?" \ f"Now" 2 Time" lastPXR cast5 cast2 rstNameList BYROOM MS Sans Serif tableInfoList WHOWHERE applicationName PRIMARY RE 0 0, Phone WHOWHERE 6 0, supervisor WHOWHERE 5 0 PRIMARY mples\database\whoshare\WHOWHERE 0 0 les\database\whoshare\WHOWHERE 3 0 DBTable MS Sans Serif MS Sans Serif indexID PRIMARY Dirty PRIMARY Times New Roman j:\jolt\samples\database\whoshare\WHOWHERE PRIMARY m:\database\WHOWHERE netAppName WHOWHERE localAppName Mike Florence info_LastSavedBy PRIMARY m:\database\WHOWHERE 0 0 PRIMARY WHOWHERE 0 0 base\whoshare\WHOWHERE 0 0 isor j:\jolt\samples\database\whoshare\WHOWHERE 5 0, birthday j:\jolt\samples\database\whoshare\WHOWHERE 13 0 WHOWHERE BASE\WHOSHARE\WHOWHERE 0 0 oshare\WHOWHERE 3 0 PRIMARY WHOWHERE 0 0 RE 0 0 PRIMARY info_LastSaved PRIMARY WHOWHERE 0 0 PRIMARY RE 0 0, birthday WHOWHERE 13 0 0 0 ay WHOWHERE 13 0 0 0, birthday WHOWHERE 13 0, Home_phone WHOWHERE 12 0 rthday WHOWHERE 13 0 hone WHOWHERE 12 0, Mail_Stop WHOWHERE 9 0 Claude Ostyn 11/27/95 4:48:38 PM _phone WHOWHERE 12 0 Mike Florence PRIMARY WHOWHERE 0 0 hone WHOWHERE 12 0, supervisor WHOWHERE 5 0 Claude Ostyn 11/27/95 4:48:21 PM _phone WHOWHERE 12 0, supervisor WHOWHERE 5 0, Mail_Stop WHOWHERE 9 0 RE 0 0, birthday WHOWHERE 13 0, Home_phone WHOWHERE 12 0, supervisor WHOWHERE 5 0, Mail_Stop WHOWHERE 9 0, department WHOWHERE 4 0 Lori Sargent Marc Fisher Marc McDonald Margo Crandell Marie Franco Mark Madland Marty Corpus Mary Christie Mary Helen Clarke Mary Nelson Melody Christensen Michael Florence Michael Scheele Michelle Carter Michelle Drewien Mieko Zirkelbach Mike Hamaoka Mike Miller Mike Simon Mike Slade Mike Taylor Minh Phan MIS LAB Nadim Harfouche Nancy Matthew Nanette Wright Ned Baker Norm Sohl Paul Allen Paul Grunwald Paul Meisenheimer Phil Purdy QA Lab Richard Moszkowski Rita Nikas Rob Fink Ross Grayum Ross Hunt Shabbir Dahod Sharon Nelson Shelley Hughes Sherri Seybold Shirley Carder Shuang Li Steve Bard Steve Beck Steve Fujiki Steven Wright Susan Dyches Susan Motte Suzy Smith Tammy McIntire Teri Ann Howe Teron Uy Tim Pearson Tim Stewart Tom Arnold Tony Amirghodsi Tracey Ingram Tyler Brooks Tyrone Floyd Winnie Wu Xiaoling Wang netTableInfo PRIMARY WHOWHERE 0 0 localTableInfo System MS Sans Serif System MS Sans Serif PRIMARY PRIMARY MS Sans Serif Office_number PRIMARY Phone PRIMARY PRIMARY RE 0 0, Title WHOWHERE 3 0, Phone WHOWHERE 6 0 page "help_search" Who's Where at Generic Int'l ToolBar ge id 237 Search Search ge dialog Index page "Index" Add and Remove Indexes help_displayDB page "help_displayDB" help_editDB page "help_editDB" help_search help_index page "help_index" splash page "splash" page "tool bar" page "dialog" DisplayDB tool bar PupdateDisplay restore enterPage FALSE upDateBMP photo updateDisplay 4s_firstFlag = TRUE updateDisplay enabled Jbar" = FALSE : BMPFlag-- part a notify network <> upDateBMP B"photo" employee_type fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Status Permanent Permanent Status Temporary Temporary Status Contractor Contractor Confidential information -- For Asymetrix eyes only Mail stop: Network:address:y Home address: Home phone: Birthday: Significant other: Special interests and hobbies:] Name: Phone: Title:G Department: textFields phone fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Mail_Stop fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Network_name fieldValue updateDisplay notifyBefore updateDisplay fieldValue( home_address fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Home_phone fieldValue updateDisplay notifyBefore updateDisplay fieldValue( birthday fieldValue updateDisplay notifyBefore updateDisplay fieldValue( significant_other fieldValue updateDisplay notifyBefore updateDisplay fieldValue( special_interests fieldValue updateDisplay notifyBefore updateDisplay fieldValue( fieldValue compoundFormat ucompoundFields updateDisplay fieldList compoundFields fieldList compoundFields displayTemplate compoundFormat displayTemplate compoundFormat search tool bar buttonDoubleClick notifyBefore updateDisplay ZSTACK fieldList ZSTRING displayTemplate, currentField ocompoundFields ocompoundFormat e) > 0 ~("%F", fieldValue( value buttonClick Jbar" %F %F displayTemplate First_name,Last_name fieldList Title fieldValue updateDisplay notifyBefore updateDisplay fieldValue( department fieldValue updateDisplay notifyBefore updateDisplay fieldValue( supervisor fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Supervisor: t L q Permanentt Temporary Contractor photo 8288,1106 center room 7020 fieldValue(Office_number) updateDB updateDB -- trap some notifies Office_number IrregularPolygon id 565 of Page id 238 selectedOffice room 7012 0,255,255 normalRGB 0,128,128 normalRGB 0,128,128 normalRGB room 7001 255,255,255 normalRGB room 7007 255,255,255 normalRGB L#X(f( room 7010 255,255,255 normalRGB room 7006 255,255,255 normalRGB room 7005 255,255,255 normalRGB L#b*p* room 7002 255,255,255 normalRGB room 7008 255,255,255 normalRGB room 7004 255,255,255 normalRGB L#`,p, auditorium 0,128,128 normalRGB L#"-.- women's 255,255,255 normalRGB men's 255,255,255 normalRGB 0,128,128 normalRGB room 7011 255,255,255 normalRGB room 7003 255,255,255 normalRGB L#b0p0 room 7009 255,255,255 normalRGB updateDisplay enterPage leavePage Employee data WcurrentRecord updateDisplay .'+ +F .'+ +F Cancel PupdateDisplay WcurrentRecord Please enter a positive whole number. Please enter the record number to navigate to. buttonDoubleClick Double click to go to a specific record number statusBar mouseEnter statusBar mouseLeave notifyAfter updateDisplay currentRecord() ("Please enter the record navigate (isType(INT, > 0)-- <= recordCount = TRUE = FALSE "Cancel" a positive whole statusBar = "Double click a specific Record Number: Current Index: CurrentIndex index tool bar editDB buttonDoubleClick "editDB" buttonClick B"index" Jbar" PRIMARYentt_other updateDisplay 950418093142486379750205812 ASYM_TpID editDB ,`-r. A.BxB textFields %F %F displayTemplate First_name,Last_name fieldList Tony Carlucci saveText A15,A15 PXFieldSize Title saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize Photographer saveText department saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize Development saveText supervisor saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize Fred Baker saveText phone saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB compareData p) <> r= "Record Changed" PXFieldSize saveText employee_type fieldValue updateDisplay ,&H.& fieldValue updateDB r= "Record Changed" PXFieldSize saveText Network_name saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize saveText home_address saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize 4850 156th Ave. NE #296 Redmond, WA 98052 saveText Home_phone saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize 555-9334 saveText birthday saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" ^&j&% PXFieldSize 8/9/1932 saveText significant_other saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize special_interests saveText fieldValue updateDisplay fieldValue updateDB fieldValue Record Changed saveText compareData notifyBefore updateDisplay fieldValue( osaveText updateDB fcompareData p) <> r= "Record Changed" PXFieldSize Significant other: photo 8288,1106 center room 7020 fieldValue(Office_number) Office_number />/IU IrregularPolygon id 625 of Page id 224 selectedOffice IrregularPolygon id 625 of Page id 224 saveText room 7012 255,255,255 normalRGB 0,128,128 normalRGB 0,128,128 normalRGB room 7001 255,255,255 normalRGB .B3P3 room 7007 255,255,255 normalRGB room 7010 255,255,255 normalRGB room 7006 255,255,255 normalRGB .P5^5 room 7005 255,255,255 normalRGB room 7009 255,255,255 normalRGB room 7002 255,255,255 normalRGB .J7X7 room 7008 255,255,255 normalRGB room 7004 255,255,255 normalRGB auditorium 0,128,128 normalRGB .`9l9 women's 255,255,255 normalRGB men's 255,255,255 normalRGB 0,128,128 normalRGB .D;R; room 7011 255,255,255 normalRGB room 7003 255,255,255 normalRGB Name: Phone: Title: Department: Mail stop: Supervisor: Network: Home address: Home phone: Birthday: Special interests and hobbies: XC0CUC Confidential information CK[pD compareData updateDB updateDisplay enterPage leavePage tool bar ASYM_BeenHere search Photo showSearch updateBMP buttonClick Search statusBar mouseEnter statusBar mouseLeave buttonClick showSearch FALSE updateBMP B"Photo" statusBar = " First buttonClick Get help statusBar mouseEnter statusBar mouseLeave buttonClick help 0 -- same statusBar = "Get update/index Update newState Index showIndex buttonClick enterPage statusBar Add, change, and delete indexes mouseEnter statusBar mouseLeave buttonClick showIndex notifyAfter oenabled FALSE statusBar "Add, change, delete indexes" newState Delete newState Restore Cancel cancel Continue drag beginDrag endDrag targetObject B"Add" Source tbk_wid_name Last_Name First_Name Title department supervisor Office_number Network_name Mail_Stop Employee_type home_phone birthday significant_othert_other Indexes FALSE allowDrop currentIndex remove buttonClick buttonStillDown beginDrag remove endDrag currentIndex remove keyUp allowDrop sourceObject FALSE buttonClick oselectedTextlines <> "currentIndex" xenabled drag beginDrag endDrag targetObject Destination tbk_wid_name PRIMARY Phonevisor Title department Phoneme First_Name_typethday significant_other special_interests Photodepartment department departmentttdepartment department department 2, #> Indexes source buttonClick enterPage buttonClick "Indexes" B(selectedTextlines "source") CRLF & oenabled FALSE notifyBefore tbk_wid_name remove CurrentIndex Indexes Source PRIMARY buttonClick enterPage buttonClick B(selectedTextlines "Indexes") <> "PRIMARY" & CRLF "Source" a= 1 -- Primary oenabled FALSE "CurrentIndex" notifyBefore remove tbk_wid_name Secondary Indexes Available Fields Cancel Index buttonClick buttonClick close "Index" &Cancel Index buttonClick buttonClick "Index" Current Index is: CurrentIndex index buttonClick buttonClick help index &Help enterPage PhoneRY help_displayDB To navigate to a record: press one of the buttons ( ) in the tool bar at the buttom of the page, or double click the "Record Number" field to the lower left, or click on one of the rooms in the map. To search for a record: press the search ( ) button, or type a name in the search field next to the search button, or double click in a field. All searches are case sensitive. All searches from the search field are on the name field, but you can search other fields by double clicking in them. To edit a record: press the edit ( ) button to change to edit mode. be deleted. help_editDB To navigate to a record: the navigation buttons, the record number field, and the search button work the same as in browse mode. You can't search by double clicking a field. The map works differently (see below) and is not for navigation in this mode. To edit a record: type new data in a field or click on a room in the map to make a new room assignment. Double click on the picture to get a new picture for the record. Click the update ( ) button to save the changes to the database, or click the restore button ( ) to revert to the original values. he data for the new record, then click the save-new-record button o delete a record: at any time, press the delete key. The currently selected record will be deleted. To search for a record: press the "search" button. All searches are case sensitive. buttonClick buttonClick &More help_editDB buttonClick buttonClick close "help_editDB" &Close To add a record: click on a room with no assignment. Fill in the data for the new record, then click the save-new-record button To delete a record: press the delete button ( ). The current record will be deleted. To change indexes: press the index button ( ). A dialog box with its own help page will appear. To return to browse mode: press the browse button ( ), if you have made changes, you will be ask to save or discard them. buttonClick buttonClick &Back splash help_editDB buttonClick buttonClick "help_editDB" "splash" %modal focusWindow = close &Close help_search To set Last Name, First Name: to set the order that the first and last names appear in the field, toggle the checkbox at the bottom of the screen. To search for a name: scroll the field to find the name, or type the first letter of the name to jump to. help_index To add an index: select a field name in the left-side list box, then press the add button (>>). The field name will be added to the right-side list box. To remove an index: select a field name in the right side list box, then press the remove button (<<). The field name will be added to the bottom of the left-side list box. You can't remove the PRIMARY index. To set the current index: Click on the field name in the right-side list box. Note that the name appears in the field at the bottom. Click "OK" to accept all your changes, "Cancel" to discard them. N.B. BLOB fields can not be indexed on, so they are not available in this screen. splash Who's Where at Generic International A Paradox sample application for ToolBook 4.0 1995 Asymetrix Corp. ASYM_BeenHere 'k''j'' ::6::6:6 kjkjk j''6 :6:''j j#':66 ''6:6: jj#'# jkj': #'66: SSYpp '6:66 k##k#'6 +o'(' SooSS kk('( oj*R' ''j'R' e#ee## 66##6 #e`ee 66#66 kk'6: splash 9504180931324853317146205752 ASYM_TpID DisplayDB splash dialog help_index help_editDB help_displayDB tool bar help_search EditDB Index splash Employee data Index DisplayDB tool bar PupdateDisplay restore enterPage FALSE upDateBMP photo updateDisplay 4s_firstFlag = TRUE updateDisplay enabled Jbar" = FALSE : BMPFlag-- part a notify network <> upDateBMP B"photo" employee_type fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Status Permanent Permanent Status Temporary Temporary Status Contractor Contractor Confidential information -- For Asymetrix eyes only Mail stop: Network:address:y Home address: Home phone: Birthday: Significant other: Special interests and hobbies:] Name: Phone: Title:G Department: textFields phone fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Mail_Stop fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Network_name fieldValue updateDisplay notifyBefore updateDisplay fieldValue( home_address fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Home_phone fieldValue updateDisplay notifyBefore updateDisplay fieldValue( birthday fieldValue updateDisplay notifyBefore updateDisplay fieldValue( significant_other fieldValue updateDisplay notifyBefore updateDisplay fieldValue( special_interests fieldValue updateDisplay notifyBefore updateDisplay fieldValue( fieldValue compoundFormat ucompoundFields updateDisplay fieldList compoundFields fieldList compoundFields displayTemplate compoundFormat displayTemplate compoundFormat search tool bar buttonDoubleClick notifyBefore updateDisplay ZSTACK fieldList ZSTRING displayTemplate, currentField ocompoundFields ocompoundFormat e) > 0 ~("%F", fieldValue( value buttonClick Jbar" %F %F displayTemplate First_name,Last_name fieldList Title fieldValue updateDisplay notifyBefore updateDisplay fieldValue( department fieldValue updateDisplay notifyBefore updateDisplay fieldValue( supervisor fieldValue updateDisplay notifyBefore updateDisplay fieldValue( Supervisor: t L q Permanentt Temporary Contractor photo 8288,1106 center room 7020 fieldValue(Office_number) updateDB updateDB -- trap some notifies Office_number IrregularPolygon id 565 of Page id 238 selectedOffice room 7012 0,255,255 normalRGB 0,128,128 normalRGB 0,128,128 normalRGB room 7001 255,255,255 normalRGB room 7007 255,255,255 normalRGB L#X(f( room 7010 255,255,255 normalRGB room 7006 255,255,255 normalRGB room 7005 255,255,255 normalRGB L#b*p* room 7002 255,255,255 normalRGB room 7008 255,255,255 normalRGB room 7004 255,255,255 normalRGB L#`,p, auditorium 0,128,128 normalRGB L#"-.- women's 255,255,255 normalRGB men's 255,255,255 normalRGB 0,128,128 normalRGB room 7011 255,255,255 normalRGB room 7003 255,255,255 normalRGB L#b0p0 room 7009 255,255,255 normalRGB updateDisplay enterPage leavePage ASYM_BeenHere